Scrum Development Model
Scrum is an agile development model aimed at fast,
flexible, and continuous software development. The Scrum process focuses
on achieving goals set by teams in iterations.
-
Sprint Planning: The Scrum process begins with sprint planning.
A sprint is a period (usually 2-4 weeks) during which the team
completes a specific task. At the beginning of the sprint, priorities
and tasks are set.
-
Task Execution: During the sprint, developers and other team members
carry out their tasks according to priorities. This process involves coding,
testing, and other development activities.
-
Daily Scrum Meetings: Every day, there is a short, usually
15-minute meeting where team members share their progress,
issues, and plans. This helps the team stay aligned.
-
Sprint Review: At the end of the sprint, a sprint review is held,
where developed features are presented and feedback is gathered.
This helps the team make better decisions in the next sprints.
-
Sprint Retrospective: At the end of the sprint, a retrospective is held,
where the team discusses what went well and what needs improvement.
The goal is continuous improvement and process optimization.
The Scrum model focuses on continuous collaboration, quick responses
to changes, and iterative development, allowing software to be constantly
improved and adapted according to user needs
and feedback.
| Positive Aspects |
Negative Aspects |
| Faster feedback since developed features are presented and adjusted at the end of each sprint. |
May not be suitable for very large and complex projects, as sprint schedules can be tight. |
| Easier to adapt development to changing client requirements as changes can be made during sprints. |
Features may emerge at the end of a sprint that are not fully finished or tested. |
| Scrum is highly flexible and adaptable to various projects and teams. |
If the team is not well-organized or lacks experience, the processes may become inefficient. |
Sources:
Scrum.org,
Agile Alliance
Scrum vs. Other Development Models
Scrum
-
Focuses on teamwork and quick iterations.
-
Work is divided into sprints, and at the end of each sprint, the system can be enhanced and improved.
-
The goal is continuous feedback and development according to user
requirements.
-
Example: In the first sprint, we develop only the user login
feature. In the second sprint, we add search. In the third sprint,
we enhance profile display.
Incremental Development
-
Focuses on adding new functionalities.
-
Each increment adds a new feature that is independently
functional.
-
The goal is to grow the system by gradually adding new components.
-
Example: The first increment adds login, the second increment
adds profiles, and the third adds messaging.
| Concept |
How is it built? |
What does it focus on? |
| Scrum |
Divided into sprints, focusing on rapid development and feedback |
Teamwork and flexibility |
| Incremental |
New features are added sequentially |
Growing the usable system |